<h2 id="全局配置"><a href="#全局配置" class="headerlink" title="全局配置" data-scroll="">全局配置</a></h2><p><code>Vue.config</code>  是一个对象，包含 Vue 的全局配置。可以在启动应用之前修改下列属性：</p>
<h3 id="silent"><a href="#silent" class="headerlink" title="silent" data-scroll="">silent</a></h3><ul>
<li><p><strong>类型</strong>：<code>boolean</code></p>
</li>
<li><p><strong>默认值</strong>：<code>false</code></p>
</li>
<li><p><strong>用法</strong>：</p>
<pre><code class="hljs js">Vue.config.silent = <span class="hljs-literal">true</span></code></pre>
<p>取消 Vue 所有的日志与警告。</p>
</li>
</ul>
<h3 id="optionMergeStrategies"><a href="#optionMergeStrategies" class="headerlink" title="optionMergeStrategies" data-scroll="">optionMergeStrategies</a></h3><ul>
<li><p><strong>类型</strong>：<code>{ [key: string]: Function }</code></p>
</li>
<li><p><strong>默认值</strong>：<code>{}</code></p>
</li>
<li><p><strong>用法</strong>：</p>
<pre><code class="hljs js">Vue.config.optionMergeStrategies._my_option = <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params">parent, child, vm</span>) </span>{
  <span class="hljs-keyword">return</span> child + <span class="hljs-number">1</span>
}

<span class="hljs-keyword">const</span> Profile = Vue.extend({
  <span class="hljs-attr">_my_option</span>: <span class="hljs-number">1</span>
})

<span class="hljs-comment">// Profile.options._my_option = 2</span></code></pre>
<p>自定义合并策略的选项。</p>
<p>合并策略选项分别接收在父实例和子实例上定义的该选项的值作为第一个和第二个参数，Vue 实例上下文被作为第三个参数传入。</p>
</li>
<li><p><strong>参考</strong> <a href="guide/mixins.html#自定义选项混入策略">自定义选项的混入策略</a></p>
</li>
</ul>
<h3 id="devtools"><a href="#devtools" class="headerlink" title="devtools" data-scroll="">devtools</a></h3><ul>
<li><p><strong>类型</strong>：<code>boolean</code></p>
</li>
<li><p><strong>默认值</strong>：<code>true</code> (生产版为 <code>false</code>)</p>
</li>
<li><p><strong>用法</strong>：</p>
<pre><code class="hljs js"><span class="hljs-comment">// 务必在加载 Vue 之后，立即同步设置以下内容</span>
Vue.config.devtools = <span class="hljs-literal">true</span></code></pre>
<p>配置是否允许 <a href="https://github.com/vuejs/vue-devtools" target="_blank" rel="noopener">vue-devtools</a> 检查代码。开发版本默认为 <code>true</code>，生产版本默认为 <code>false</code>。生产版本设为 <code>true</code> 可以启用检查。</p>
</li>
</ul>
<h3 id="errorHandler"><a href="#errorHandler" class="headerlink" title="errorHandler" data-scroll="">errorHandler</a></h3><ul>
<li><p><strong>类型</strong>：<code>Function</code></p>
</li>
<li><p><strong>默认值</strong>：<code>undefined</code></p>
</li>
<li><p><strong>用法</strong>：</p>
<pre><code class="hljs js">Vue.config.errorHandler = <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params">err, vm, info</span>) </span>{
  <span class="hljs-comment">// handle error</span>
  <span class="hljs-comment">// `info` 是 Vue 特定的错误信息，比如错误所在的生命周期钩子</span>
  <span class="hljs-comment">// 只在 2.2.0+ 可用</span>
}</code></pre>
<p>指定组件的渲染和观察期间未捕获错误的处理函数。这个处理函数被调用时，可获取错误信息和 Vue 实例。</p>
<blockquote>
<p>从 2.2.0 起，这个钩子也会捕获组件生命周期钩子里的错误。同样的，当这个钩子是 <code>undefined</code> 时，被捕获的错误会通过 <code>console.error</code> 输出而避免应用崩溃。</p>
</blockquote>
<blockquote>
<p>从 2.4.0 起，这个钩子也会捕获 Vue 自定义事件处理函数内部的错误了。</p>
</blockquote>
<blockquote>
<p>从 2.6.0 起，这个钩子也会捕获 <code>v-on</code> DOM 监听器内部抛出的错误。另外，如果任何被覆盖的钩子或处理函数返回一个 Promise 链 (例如 async 函数)，则来自其 Promise 链的错误也会被处理。</p>
</blockquote>
<blockquote>
<p>错误追踪服务 <a href="https://sentry.io" target="_blank" rel="noopener">Sentry</a> 和 <a href="https://docs.bugsnag.com/platforms/browsers/vue/" target="_blank" rel="noopener">Bugsnag</a> 都通过此选项提供了官方支持。</p>
</blockquote>
</li>
</ul>
<h3 id="warnHandler"><a href="#warnHandler" class="headerlink" title="warnHandler" data-scroll="">warnHandler</a></h3><blockquote>
<p>2.4.0 新增</p>
</blockquote>
<ul>
<li><p><strong>类型</strong>：<code>Function</code></p>
</li>
<li><p><strong>默认值</strong>：<code>undefined</code></p>
</li>
<li><p><strong>用法</strong>：</p>
<pre><code class="hljs js">Vue.config.warnHandler = <span class="hljs-function"><span class="hljs-keyword">function</span> (<span class="hljs-params">msg, vm, trace</span>) </span>{
  <span class="hljs-comment">// `trace` 是组件的继承关系追踪</span>
}</code></pre>
<p>为 Vue 的运行时警告赋予一个自定义处理函数。注意这只会在开发者环境下生效，在生产环境下它会被忽略。</p>
</li>
</ul>
<h3 id="ignoredElements"><a href="#ignoredElements" class="headerlink" title="ignoredElements" data-scroll="">ignoredElements</a></h3><ul>
<li><p><strong>类型</strong>：<code>Array&lt;string | RegExp&gt;</code></p>
</li>
<li><p><strong>默认值</strong>：<code>[]</code></p>
</li>
<li><p><strong>用法</strong>：</p>
<pre><code class="hljs js">Vue.config.ignoredElements = [
  'my-custom-web-component',
  'another-web-component',
  // 用一个 `RegExp` 忽略所有“ion-”开头的元素
  // 仅在 2.5+ 支持
  /^ion-/
]</code></pre>
<p>须使 Vue 忽略在 Vue 之外的自定义元素 (e.g. 使用了 Web Components APIs)。否则，它会假设你忘记注册全局组件或者拼错了组件名称，从而抛出一个关于 <code>Unknown custom element</code> 的警告。</p>
</li>
</ul>
<h3 id="keyCodes"><a href="#keyCodes" class="headerlink" title="keyCodes" data-scroll="">keyCodes</a></h3><ul>
<li><p><strong>类型</strong>：<code>{ [key: string]: number | Array&lt;number&gt; }</code></p>
</li>
<li><p><strong>默认值</strong>：<code>{}</code></p>
</li>
<li><p><strong>用法</strong>：</p>
<pre><code class="hljs js">Vue.config.keyCodes = {
  <span class="hljs-attr">v</span>: <span class="hljs-number">86</span>,
  <span class="hljs-attr">f1</span>: <span class="hljs-number">112</span>,
  <span class="hljs-comment">// camelCase 不可用</span>
  mediaPlayPause: <span class="hljs-number">179</span>,
  <span class="hljs-comment">// 取而代之的是 kebab-case 且用双引号括起来</span>
  <span class="hljs-string">"media-play-pause"</span>: <span class="hljs-number">179</span>,
  <span class="hljs-attr">up</span>: [<span class="hljs-number">38</span>, <span class="hljs-number">87</span>]
}</code></pre>
<pre><code class="hljs html"><span class="hljs-tag">&lt;<span class="hljs-name">input</span> <span class="hljs-attr">type</span>=<span class="hljs-string">"text"</span> @<span class="hljs-attr">keyup.media-play-pause</span>=<span class="hljs-string">"method"</span>&gt;</span></code></pre>
<p>给 <code>v-on</code> 自定义键位别名。</p>
</li>
</ul>
<h3 id="performance"><a href="#performance" class="headerlink" title="performance" data-scroll="">performance</a></h3><blockquote>
<p>2.2.0 新增</p>
</blockquote>
<ul>
<li><p><strong>类型</strong>：<code>boolean</code></p>
</li>
<li><p><strong>默认值</strong>：<code>false (自 2.2.3 起)</code></p>
</li>
<li><p><strong>用法</strong>：</p>
<p>设置为 <code>true</code> 以在浏览器开发工具的性能/时间线面板中启用对组件初始化、编译、渲染和打补丁的性能追踪。只适用于开发模式和支持 <a href="https://developer.mozilla.org/en-US/docs/Web/API/Performance/mark" target="_blank" rel="noopener"><code>performance.mark</code></a> API 的浏览器上。</p>
</li>
</ul>
<h3 id="productionTip"><a href="#productionTip" class="headerlink" title="productionTip" data-scroll="">productionTip</a></h3><blockquote>
<p>2.2.0 新增</p>
</blockquote>
<ul>
<li><p><strong>类型</strong>：<code>boolean</code></p>
</li>
<li><p><strong>默认值</strong>：<code>true</code></p>
</li>
<li><p><strong>用法</strong>：</p>
<p>设置为 <code>false</code> 以阻止 vue 在启动时生成生产提示。</p>
</li>
</ul>
